---
title: "Use Case Diagram — RVC Controller SW v2"
---
flowchart LR
    OS["👤 Obstacle Sensor\n(Front + Left) *"]
    DS["👤 Dust Sensor"]

    subgraph SYS["RVC Controller SW"]
        UC01("UC-01\nPerform Normal\nCleaning")
        UC02("UC-02\nDetect Obstacle\nFront")
        UC03("UC-03\nAvoid Front\nObstacle *")
        UC04("UC-04\nDetect Side\nObstacles *")
        UC05("UC-05\nAvoid All-Direction\nObstacle *")
        UC06("UC-06\nDetect Dust")
        UC07("UC-07\nBoost Cleaning\nPower")
        UC08("UC-08\nHandle Sensor\nError")
    end

    OS --> UC02
    OS --> UC04
    OS --> UC08
    DS --> UC06
    DS --> UC08

    UC03 -.-> UC01
    UC05 -.-> UC01
    UC07 -.-> UC01

    UC03 --> UC02
    UC03 --> UC04
    UC05 --> UC02
    UC05 --> UC04
    UC07 --> UC06

    style OS   fill:#fff3e0,stroke:#e65100,stroke-width:2px
    style UC03 fill:#fff3e0,stroke:#e65100,stroke-width:2px
    style UC04 fill:#fff3e0,stroke:#e65100,stroke-width:2px
    style UC05 fill:#fff3e0,stroke:#e65100,stroke-width:2px